﻿<?php
class VipController extends Zend_Controller_Action
{   
    public function afficherPremiereLettreAction(){    
       $vips = new Table_Vips();
	   $resu=$vips->getPremiereLettreTousVip();
	   $this->view->afficherpremierelettre=array('vip' => $resu);
    }
    
	public function listervipsAction(){
	   $lettre = $this->_getParam('lettre');
	   $this->view->listervips=$lettre;
	}
	
	public function detailvipAction(){
	   $numVip = $this->_getParam('numvip');
	   $this->view->detailvip=$numVip;
	}
	
	public function ajoutervipAction(){
		//Nouvelle instance du formulaire
		$form = new Form_Ajoutervip();
		
		//Remplir la liste des nationalités
		$tableNat = new Table_Nationalite();
		$resuAllNat = $tableNat->getAllNationalite();
		$form->remplirNat($resuAllNat);
		
		//Remplir la liste des VIPS
		$tableVip = new Table_Vips();
		$resuAllVip = $tableVip->getAllVips();
		$form->remplirVip($resuAllVip);
		
		if ($this->getRequest()->isPost()){
			if($form->isValid($this->getRequest()->getPost())){
				//si le formulaire est validé
				$valeurs = $form->getValues();
				//getValues récupère les valeurs filtrées
				
				//Ajout du VIP seul
				$nation = $valeurs["natVip"];
				
				if(empty($valeurs["sexVip"])) $sexe = NULL;
				else $sexe = $valeurs["sexVip"];

				if (empty($valeurs["dateVip"])) $dateNaiss = NULL;
				else $dateNaiss = $valeurs["dateVip"];
				
				if (empty($valeurs["comVip"])) $comVip = NULL;
				else $comVip = $valeurs["comVip"];
				
				$result = $tableVip->insertVip($nation, $valeurs["nomVip"],
                    	                      $valeurs["prenomVip"], $sexe,
                        	                  $dateNaiss, $comVip);
				
				//Récupération du numéro du VIP créé							
				$numVip = $tableVip->getNumVip($valeurs["nomVip"], $valeurs["prenomVip"]);
				echo $numVip->VIP_NUMERO;
				//var_dump($numVip);
				//Ajout de la profession du VIP
				if(!empty($valeurs["profVip"])){
					foreach($valeurs["profVip"] as $prof) {
						switch($prof){
							case 'acteur':
								$tableActeur = new Table_Acteur();
								$resuProf = $tableActeur->insertActeur($numVip->VIP_NUMERO, NULL);
								break;
						
							case 'realisateur':
								$tableRealisateur = new Table_Realisateur();
								$resuProf = $tableRealisateur->insertRealisateur($numVip->VIP_NUMERO);
								break;
						
							case 'chanteur':
								$tableChanteur = new Table_Chanteur();
								$resuProf = $tableChanteur->insertChanteur($numVip->VIP_NUMERO, NULL);
								break;
						
							case 'mannequin':
								$tableMannequin = new Table_Mannequin();
								$resuProf = $tableMannequin->insertMannequin($numVip->VIP_NUMERO, NULL);
								break;
						
							case 'couturier':
								$tableCouturier = new Table_Couturier();
								$resuProf = $tableCouturier->insertCouturier($numVip->VIP_NUMERO);
								break;
						}
					}
				}
				
				//Ajout du mariage d'un VIP avec un autre VIP existant
				if(!empty($valeurs["vipmariVip"])){
					$tableMariage = new Table_Mariage();
					if(!empty($valeurs["datefinmariVip"])){
						$resuMar = $tableMariage->insertMariage($numVip->VIP_NUMERO, 
									$valeurs["vipmariVip"], 
									$valeurs["datemariVip"], 
									$valeurs["datefinmariVip"], 
									null);
					} else {
					
						$resuMar = $tableMariage->insertMariage($numVip->VIP_NUMERO,
						 $valeurs["vipmariVip"],
						 $valeurs["datemariVip"],
						 null, 
						 null);
					}
				}
				
				//Ajout de la liaison d'un VIP avec un autre VIP existant
				if(!empty($valeurs["vipliaiVip"])){
					$dateliai = $valeurs["dateliaiVip"];
					if(empty($valeurs["liaimotifVip"])) $motifliai = NULL;
					else $motifliai = $valeurs["liaimotifVip"];
					
					$tableLiaison = new Table_Liaison();
					$resuLi = $tableLiaison->insertLiaison($numVip->VIP_NUMERO, $valeurs["vipliaiVip"], 
										$dateliai, $motifliai);
				}
				
				if(!empty($valeurs["imgVip"])){
					$adrPhoto = $valeurs["imgVip"];
					$tablePhotos = new Table_Photos();
					if(empty($valeurs["imgsujetVip"])) $sujetPhoto = null;
					else $sujetPhoto = $valeurs["imgsujetVip"];
					if(empty($valeurs["imgcomVip"])) $comPhoto = null;
					else $comPhoto = $valeurs["imgcomVip"];
					$resultPh = $tablePhotos->insertPhotoOfficielle(1, $numVip->VIP_NUMERO, $sujetPhoto, $comPhoto, $adrPhoto);
				}
			}
		}
		$this->view->form = $form;			
	}

	public function supprimervipAction(){
		$form = new Form_Supprimervip();
		
		
		//Remplir la liste des VIPS
		$tableVip = new Table_Vips();
		$tablePhotos = new Table_Photos();
		$tableLiaison = new Table_Liaison();
		$tableMariage = new Table_Mariage();
		$tableCouturier = new Table_Couturier();
		$tableMannequin = new Table_Mannequin();
		$tableChanteur = new Table_Chanteur();
		$tableRealisateur = new Table_Realisateur();
		$tableActeur = new Table_Acteur();
		$tableComporte = new Table_Comporte();
		$tableDefileDans = new Table_DefileDans();
		$tableDefile = new Table_Defile();
		$tableAPourAgence = new Table_APourAgence();
		$tableAPourSujet = new Table_APourSujet();
		$tableJoue = new Table_Joue();
		$tableFilm = new Table_Film();
		$tableComposer = new Table_Composer();
		
		$resuAllVip = $tableVip->getAllVips();
		$form->remplirVip($resuAllVip);
		
		if ($this->getRequest()->isPost()){
			if($form->isValid($this->getRequest()->getPost())){
				//si le formulaire est validé
				//$valeurs = $form->getValues();
				$valeurs = $this->getRequest()->getPost();
				
				//var_dump($valeurs);
				
				$tableAPourSujet->supprAPourSujet($valeurs["suppVip"]);
				
				
				$tableJoue->supprJoue($valeurs["suppVip"]);	//cas joue a pressiser				
				
				if($tableRealisateur->getRealisateur($valeurs["suppVip"]) != null){
					$res = $tableRealisateur->getAllFilmsRealisateur($valeurs["suppVip"]);
					foreach ($res as $value) {
						
					
						//var_dump($res);
							
						
						$tableJoue->supprJoueByFilm($value['FILM_NUMERO']);
						$tableFilm->supprFilm($valeurs["suppVip"]);	
						
					
					}
				}
				
								
				$tableRealisateur->supprRealisateur($valeurs["suppVip"]);	
				$tableActeur->supprActeur($valeurs["suppVip"]);				//
				
				$tableComposer->supprComposer($valeurs["suppVip"]);			
				$tableChanteur->supprChanteur($valeurs["suppVip"]);			
				
				$tableAPourAgence->supprAPourAgence($valeurs["suppVip"]);	
				$tableDefileDans->supprDefileDans($valeurs["suppVip"]);		
				$tableMannequin->supprMannequin($valeurs["suppVip"]);		
				
				$iddefile = $tableDefile->getDefileId($valeurs["suppVip"]);
				//var_dump($iddefile);
				foreach ($iddefile as $value) {
					//var_dump($value);
					$tableDefileDans->supprDefileDansDef($value['DEFILE_NUMERO']);
					
				}
				
				$tableDefile->supprDefile($valeurs["suppVip"]);				
				$tableCouturier->supprCouturier($valeurs["suppVip"]);	
				
				$photo = $tablePhotos->getAllphotos($valeurs["suppVip"]);
				
				foreach ($photo as $value) {
					if (file_exists('images/photos/'.$value['PHOTO_ADRESSE'])) {
						unlink('images/photos/'.$value['PHOTO_ADRESSE']);
						//echo 'images/photos/'.$value['PHOTO_ADRESSE'];
					}
					
				}
				
				
				
				
				$tableComporte->supprComporte($valeurs["suppVip"]);			
				$tablePhotos->supprPhotos($valeurs["suppVip"]);				
				
				
				$tableLiaison->supprLiaison($valeurs["suppVip"]);			
				$tableLiaison->supprLiaison2($valeurs["suppVip"]);			
				$tableMariage->supprMariage($valeurs["suppVip"]);			
				$tableMariage->supprMariage2($valeurs["suppVip"]);			
				
				
				$tableVip->supprVip($valeurs["suppVip"]);
			
			}
		}
		
		$this->view->form = $form;
	}
		
		public function listerFilm(){
	   $numFilm = $this->_getParam('numFilm');
	   $this->view->detailchanteur=$numFilm;
	   $this->view->listerVille=array('film'=>$resu);
	}

}
?>
